home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d20 / msgq160s.arc / QUICKBBS.H < prev    next >
Text File  |  1991-10-26  |  7KB  |  259 lines

  1. /*
  2.  * QUICKBBS.H - QuickBBS structures
  3.  *
  4.  * Msged/Q message editor for QuickBBS  Copyright 1990 by P.J. Muller
  5.  *
  6.  */
  7.  
  8. typedef struct {
  9.                 /* msgattr byte */
  10.    WORD  is_del:1;        /* Deleted */
  11.    WORD  is_transit:1;        /* Unmoved outgoing net message */
  12.    WORD  is_netm:1;        /* Net mail message */
  13.    WORD  is_priv:1;        /* private */
  14.    WORD  is_rcvd:1;        /* Received */
  15.    WORD  is_echotr:1;        /* Unmoved outgoing echo message */
  16.    WORD  is_local:1;        /* local bit */
  17.    WORD  is_reserved1:1;    /* reserved */
  18.  
  19.                 /* netattr byte */
  20.    WORD  is_kill:1;        /* Kill after sent bit */
  21.    WORD  is_sent:1;        /* sent ok */
  22.    WORD  is_file:1;        /* file(s) attached */
  23.    WORD  is_crash:1;        /* crash priority */
  24.    WORD  is_reqrec:1;        /* Request receipt */
  25.    WORD  is_audreq:1;        /* Audit request */
  26.    WORD  is_retrec:1;        /* Is a return receipt */
  27.    WORD  is_reserved2:1;    /* reserved */
  28. } MSGBITS;
  29.  
  30. /* Note that string fields in *.BBS files must be converted to Pascal strings
  31.    before being written out */
  32.  
  33. typedef struct {        /* MSGHDR.BBS record */
  34.    int   msgnum,
  35.      reply,            /* thread to previous message */
  36.      up,            /* thread to next message */
  37.      times;            /* number of times read */
  38.    WORD  startrec;        /* pointer into MSGTXT.BBS */
  39.    int   numrecs,        /* number of 256-byte records in MSGTXT.BBS */
  40.      dest_net,        /* destination net */
  41.      dest,            /* destination node */
  42.      orig_net,        /* originating net */
  43.      orig;            /* originating node */
  44.    BYTE  destzone,        /* destination zone (not in plain msged) */
  45.      origzone;        /* originating zone (not in plain msged) */
  46.    int   cost;            /* actual cost of this msg */
  47.  
  48.    MSGBITS bits;        /* msg and net attributes */
  49.  
  50.    BYTE  board;            /* QuickBBS board number */
  51.    char  posttime[6];        /* Post time */
  52.    char  postdate[9];        /* Post date */
  53.    char  to[36],        /* Who to */
  54.      from[36],        /* Who from */
  55.      subj[73];        /* message subject */
  56. } MSGHEADER;
  57.  
  58. #define BLIM 200        /* QuickBBS message board limit */
  59.  
  60. /* -------------------------------------------------------------------- */
  61.  
  62. typedef struct {  /* Used in the MSGINFO.BBS file */
  63.  
  64.    int   lowmsg;              /* Lowest Message in File  */
  65.    int   highmsg;             /* Highest Message in File */
  66.  
  67.    int   totalactive;         /* Total Active Messages   */
  68.  
  69.    int   activemsgs[BLIM];
  70.  
  71. } INFORECORD;
  72.  
  73. /* -------------------------------------------------------------------- */
  74.  
  75. typedef struct {  /* Used in the MSGIDX.BBS file */
  76.  
  77.    int   msgnum;
  78.    BYTE  board;
  79.  
  80. } IDXRECORD;
  81.  
  82. /* -------------------------------------------------------------------- */
  83.  
  84. typedef struct {  /* Part of Configuration Record */
  85.  
  86.    BYTE        status;       /* 0=Deleted 1=Enabled 2=Disabled */
  87.    char        runtime[6];
  88.    BYTE        errorlevel;
  89.    BYTE        days;
  90.    BOOLEAN     forced;
  91.    char        lasttimerun[9];
  92.  
  93. } EVENTRECORD;
  94.  
  95. /* -------------------------------------------------------------------- */
  96. typedef BYTE flagtype[4];
  97.  
  98. typedef struct {  /* Part of Configuration Record */
  99.  
  100.    char     name[17];
  101.    BYTE     typ;        /* 0=Standard 1=Net 2=EMail 3=Echo */
  102.    BYTE     kinds;      /* 0=Both 1=Pvt 2=Pub 3=Read-Only */
  103.  
  104.    BOOLEAN  combined;
  105.    BOOLEAN  aliases;
  106.  
  107.    int      readseclvl;
  108.    flagtype readflags;
  109.  
  110.    int      writeseclvl;
  111.    flagtype writeflags;
  112.  
  113.    int      sysopseclvl;
  114.    flagtype sysopflags;
  115.  
  116. } BOARDRECORD;
  117.  
  118. /* -------------------------------------------------------------------- */
  119.  
  120. typedef struct {  /* Used for the CONFIG.BBS file */
  121.  
  122.    /*  Modem Parameters  */
  123.    int      commport,
  124.             initbaud,
  125.             inittimes,
  126.             answerwait;
  127.    char     modeminitstr[71],
  128.             modembusystr[71],
  129.             modeminitresp[41],
  130.             modembusyresp[41],
  131.             resp300[41],
  132.             resp1200[41],
  133.             resp2400[41];
  134.  
  135.    /*  System Paths  */
  136.    char     menupath[67],
  137.             textpath[67],
  138.             netpath[67];
  139.  
  140.    /*  Restriction Parameters  */
  141.    int      minbaud,
  142.             graphicsbaud,
  143.             xferbaud;
  144.    char     lowbaudstart[6],
  145.             lowbaudend[6],
  146.             downloadstart[6],
  147.             downloadend[6],
  148.             pagingstart[6],
  149.             pagingend[6];
  150.  
  151.    /*  Matrix Information  */
  152.    int      matrixzone,
  153.             matrixnet,
  154.             matrixnode,
  155.             akanet[5],
  156.             akanode[5],
  157.             netmailboard;
  158.  
  159.    /*  Default Information for New Users  */
  160.    int      defaultsec;
  161.    int      defaultcredit;
  162.    flagtype defaultflags;
  163.  
  164.    /*  Sysop Security Levels  */
  165.    char     editorcmdstr[71];
  166.    char     originline[61];
  167.    char     sysopname[36];
  168.    BOOLEAN  autologonchar,
  169.             fastlogon,
  170.             screenblanking,
  171.             uselastread,
  172.             monomode,
  173.             directwrite,
  174.             snowcheck,
  175.             netechoexit,
  176.             onewordnames,
  177.             checkmail,
  178.             askhomephone,
  179.             askdataphone,
  180.             graphicsavail;
  181.    int      inactivetimeout,
  182.             logontime,
  183.             deffgcolor,
  184.             defbgcolor,
  185.             passwordtries,
  186.             maxpagetimes,
  187.             pagebelllen;
  188.  
  189.    BOOLEAN  use_xmodem,
  190.         use_xmodem1k,
  191.         use_ymodem,
  192.         use_ymodemg,
  193.         use_sealink,
  194.         use_zmodem,
  195.         inp_fields;
  196.    char     quotestr[4];        /* QuickBBS quote string */
  197.    int        uploadcredit;
  198.    char     loadingmessage[71];
  199.    char     selectionprompt[71];
  200.    WORD     versionid;
  201.    char     resp4800[41];
  202.    char     resp9600[41];
  203.    int      akazone[5];
  204.    int      matrixpoint;
  205.    int      akapoint[5];
  206.    BYTE     useaka[200];
  207.    BOOLEAN  askage;
  208.    char     systemname[41];
  209.    DWORD    regkey;
  210.  
  211.    BYTE     extraspace[5];
  212.  
  213.    EVENTRECORD eventrec[30];
  214.    BOARDRECORD boardrec[BLIM];
  215.  
  216. } CONFIGRECORD;
  217.  
  218. #define MAXAKA 5        /* from 0 to 5 */
  219.  
  220. /* -------------------------------------------------------------------- */
  221.  
  222. /* The 'attrib' word in the userrecord */
  223. #define U_DELETED         0x01
  224. #define U_CLS             0x02
  225. #define U_MORE            0x04
  226. #define U_ANSI            0x08
  227. #define U_NOKILL          0x10
  228. #define U_IGNOREDLHOURS   0x20
  229. #define U_FSEDITOR        0x40
  230. #define U_RESERVED        0x80
  231.  
  232. typedef struct {
  233.  
  234.    char  name[36],
  235.          city[26],
  236.          pwd[16],
  237.          dataphone[13],
  238.          homephone[13],
  239.          lasttime[6],
  240.          lastdate[9];
  241.    BYTE attrib;
  242.    flagtype flags;
  243.    int   credit,
  244.          pending,
  245.          timesposted,
  246.          highmsgread,
  247.          seclvl,
  248.          times,
  249.          ups,
  250.          downs,
  251.          upk,
  252.          downk,
  253.          todayk,
  254.          elapsed,
  255.          len;
  256.    BYTE extraspace[8];
  257.  
  258. } USERRECORD;
  259.